<script>
  const list = [1, 2, 3]
  list.forEach((item, index) => {
    console.log(item, index)
  })

  /**
   * 1. 入参
   * 2. return
   * 3. 核心逻辑
   */
  function each (list, cb) {
    // 核心逻辑：遍历这个数组 然后以数组的每一项和每一项对应的下标值作为
    // 实参传入cb 然后执行
    for (let i = 0; i < list.length; i++) {
      cb(list[i], i)
    }
  }
  each(list, (item, index) => {
    console.log(item, index)
  })
</script>